# 获取操作系统
import os
print(os.name)
# 获取操作系统的详细信息
print(os.uname())

# 环境变量
# print(os.environ)

# 获取某个具体的环境变量
print(os.environ.get('NVM_DIR'))

# 操作系统目录和文件的操作，可能在os模块中，也可能在os.path 模块中
# 获取当前目录的绝对路径
print(os.path.abspath('.'))

#将两个路径拼接在一起
print(os.path.join('/Users/RDN', 'python_study'))
# 拆分路径，用 split 函数，可以讲路径拆分为两部分
path = '/Users/rdn/Documents/pythonProjects/python_study/IO/os.py'
print(os.path.split(path))
# splitext 函数可以直接获得扩展名
print(os.path.splitext(path))

# 列出某个文件夹下所有的目录

print([x for x in os.listdir('.') if os.path.isdir(x)])
# 列出当前文件夹下以“.py”为结尾的文件
print([x for x in os.listdir('.') if os.path.isfile(x) and os.path.splitext(x)[1] == '.py'])

def search(path, str):
    for f in os.listdir(path):
        if os.path.isfile(f):
            if(str in f):
                print(os.path.relpath(f, '/Users/rdn/Documents/pythonProjects'))
                continue
        elif os.path.isdir(f):
            search(f, str)

search('.', '_')